package com.kuang.dao;

import com.kuang.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

public interface UserDao {
    //查询所有的用户
    public List<User> getUserList();
    //插入
    public int addUser(User user);
    //万能的map,Map<String,Object>表示：键型是String，值是object
    public int addUser2(Map<String,Object> map);
    //模糊查询
    public List<User> selectUser(String name);
    //当实体类与数据库的字段不一致时，如数据库是pwd，而实体类是password
    public List<User> getUserList2();
    //使用limit分页
    public List<User> getUserList3(Map<String,Object> map);
    //使用RowBounds分页
    List<User> getUsersByRowBounds();
    //使用注解开发
    @Select("select * from mybatis.user")
    public List<User> getUsers();
    //我这里使用#{}占位符，能防止sql注入，而${}不能
    @Delete("delete from user where id=#{uid}")
    int deleteUser(@Param("uid") int id);
}
